Skip to content

feat: Integrate Local Gemma 4 AI with Model Selection & Auto-Download for Kaggle Hackathon#13

Merged
M97Chahboun merged 10 commits into
masterfrom
kaggle-hackathon-submission-31c4d
Jun 10, 2026
Merged

feat: Integrate Local Gemma 4 AI with Model Selection & Auto-Download for Kaggle Hackathon#13
M97Chahboun merged 10 commits into
masterfrom
kaggle-hackathon-submission-31c4d

Conversation

@M97Chahboun

@M97Chahboun M97Chahboun commented Apr 12, 2026

Copy link
Copy Markdown
Member

🎯 Objective

Align project with Kaggle Gemma 4 Good Hackathon requirements by replacing cloud-based Gemini API with local, privacy-first Gemma 4 inference.

✨ Key Changes

  • Removed: All dependencies and usage of GeminiService (Cloud API).
  • Added: Gemma4Service using flutter_gemma package for on-device inference.
  • New Feature: "Setup Model" screen allowing users to:
    • Choose between 3 optimized Gemma models (2B Quantized, 2B HQ, 7B Quantized).
    • Auto-download models directly from Hugging Face.
    • Monitor download progress and manage model loading/unloading.
  • UX Improvements: Automatic redirect to setup if no model is loaded; status indicators for local AI.

🛡️ Hackathon Alignment

  • Privacy First: No data leaves the device.
  • Offline Capable: Works without internet after model download.
  • Cost Free: No API keys or billing required.
  • Multimodal: Ready for text and image inputs.

🚀 How to Test

  1. Run flutter pub get.
  2. Launch app -> Navigate to "Setup Model".
  3. Select "Gemma 2B (Quantized)" and click Download.
  4. Once loaded, start a chat request.

- Add Gemma4Service with local inference capabilities using flutter_gemma package
- Implement model download and management functionality for Gemma models
- Create SetupModelScreen allowing users to choose and download Gemma models
- Add ModelDownloadTile widget for displaying and managing available models
- Update README to document Gemma 4 integration and local inference features
- Modify RequestDetailScreen to use Gemma4Service instead of GeminiService
- Update AppBarWidget to include model setup button
- Add flutter_gemma dependency to pubspec.yaml
- Remove old Gemini API integration and related code
- Update .gitignore with proper formatting

This integration provides local AI inference using Gemma models with privacy-focused on-device processing, replacing the previous cloud-based Gemini API implementation.
@M97Chahboun M97Chahboun changed the title Update from task b50e8130-d531-4e4b-bcd4-e176d9931c4d feat: Integrate Local Gemma 4 AI with Model Selection & Auto-Download for Kaggle Hackathon Apr 12, 2026
M97Chahboun and others added 9 commits April 13, 2026 23:10
- Added flutter_gemma plugin to macOS project.
- Updated GeneratedPluginRegistrant.swift to register FlutterGemmaPlugin.
- Modified Podfile to include setup script for LiteRT-LM Desktop.
- Updated Podfile.lock to include flutter_gemma dependency.
- Adjusted project.pbxproj to include FlutterGeneratedPluginSwiftPackage.
- Added shell script phase for LiteRT-LM Desktop setup in Xcode project.
- Updated Runner.xcscheme to run Flutter framework preparation script.
- Modified entitlements files to disable library validation for security.
- Updated widget test to reference the main application entry point.
…ver for HomeScreen auto-refresh, fix conversation deletion and markdown exports
@M97Chahboun M97Chahboun merged commit 4aed0a3 into master Jun 10, 2026
4 of 5 checks passed
@M97Chahboun M97Chahboun self-assigned this Jun 10, 2026
@M97Chahboun M97Chahboun deleted the kaggle-hackathon-submission-31c4d branch June 10, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants